<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 1、js一共有多少种数据类型?
    
    // 数据类型有string、number、boolean、undefined、null、object

      // 2、js检测数据类型有哪些方法?
    
    // console.log(typeof(要检测的变量))

      // 3、undefined和null的区别?	用typeof检测它们分别返回什么值?
    
    // 定义一个变量但没有赋值，就是undefined
    // 定义一个变量赋值为null，就是null
    // 检测undefined会返回undefined，检测null会返回object

      // 4、写出下列对应结果
      var str = "0";
      var str1 = "";
      var str2 = " ";
      var unde = undefined;
      var nu = null;
      var num = 0;
      var num1 = -10;

      Boolean(str);// true
      Boolean(str1);// false
      Boolean(str2);// true
      Boolean(unde);// false
      Boolean(nu);// false
      Boolean(num);// false
      Boolean(num1);// true

      // 5、写出下列对应结果	注意：需要分别使用Number、String、toString去转换数据类型
      var str = "0";//      数字的0   字符串的0   字符串的0
      var num = -10;//      数字的-10 字符串的-10 字符串的-10
      var flag = true;//    数字的1   true       true
      var ud = undefined;// NaN      undefined   [object Undefined]
      var nu = null;//      数字的0   null       [object Undefined]

      var r = toString(nu)
      console.log(r);


      // 6、检测下面的变量各自的数据类型
      var str = "";// string
      var num = "-10";// string
      var num1 = 0;// number
      var nu = undefined;// undefined
      var nu1 = "undefined";// string
      var nu2 = "null";// string
      var nu3 = null;// object

      console.log(typeof(nu3));


      var a = undefined;

      console.log(typeof(a));
    </script>
  </body>
</html>
